package com.evildog.workspace.life.application.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.evildog.workspace.common.object.PageQuery;
import com.evildog.workspace.common.result.PagedResult;
import com.evildog.workspace.dependencies.mybatis.object.QueryConditionDTO;
import com.evildog.workspace.life.application.bo.WishBO;
import com.evildog.workspace.life.application.bo.WishListBO;
import com.evildog.workspace.life.application.bo.WishPageBO;
import com.evildog.workspace.life.application.dto.WishDTO;
import com.evildog.workspace.life.application.dto.WishListDTO;
import com.evildog.workspace.life.application.dto.WishPageDTO;
import com.evildog.workspace.life.application.dto.WishStatusDTO;
import com.evildog.workspace.life.application.entity.Wish;

import java.util.List;

/**
 * <p>
 * wish Service
 * </p>
 *
 * @author evildog
 * @since 2020-08-04
 */
public interface WishService extends IService<Wish> {

    /**
    * 自定义分页
    */
    PagedResult<WishPageBO> getPageList(PageQuery query, List<QueryConditionDTO> queryConditions, WishPageDTO pageDTO);

    /**
    * 获取List
    */
    List<WishListBO> getList(List<QueryConditionDTO> queryCondition, WishListDTO dto);

    /**
    * 获取详情
    */
    WishBO getDetailById(Long id);

    /**
    * 保存
    */
    boolean save(WishDTO param);

    boolean updateStatus(Long id, WishStatusDTO convert);

    boolean updateName(Long id, WishDTO convert);

    boolean updateCost(Long id, WishDTO convert);

    boolean updateStar(Long id, WishDTO convert);
}
